<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<div fxFlex="100" fxLayout="column" class="form-field-small">
    <sp-configuration-box
        title="Chart Type"
        marginTop="5px"
        background="var(--color-bg-2)"
    >
        <div class="mt-10">
            <mat-form-field appearance="outline" color="accent" fxFlex="100">
                <mat-select
                    [(value)]="currentlyConfiguredWidget.widgetType"
                    (selectionChange)="triggerWidgetTypeChange($event)"
                    data-cy="data-explorer-select-visualization-type"
                >
                    <mat-option
                        [value]="widget.id"
                        *ngFor="let widget of availableWidgets"
                    >
                        <span class="pipeline-name">{{ widget.label }}</span>
                    </mat-option>
                </mat-select>
            </mat-form-field>
        </div>
    </sp-configuration-box>

    <div *ngIf="activeWidgetType">
        <ng-container
            *ngComponentOutlet="
                activeWidgetType.widgetConfigurationComponent;
                inputs: {
                    currentlyConfiguredWidget: currentlyConfiguredWidget
                }
            "
        />
    </div>
</div>
